The present invention relates generally to computer systems, and more particularly to a distribution of instructions and tasks among a main processor and processing elements.
Computer systems are continually evolving with new technology leading to increased performance and complexity in the computer systems. In particular, increased capabilities of computer hardware provide improved performance and user experience. For example, computer systems may include accelerators in addition to one or more main processors, where the main processors offload specific tasks to accelerators configured to perform these specific tasks. As accelerators become more sophisticated, the size of tasks offloaded to the accelerators may also increase. In some cases, the increased task size may cause delays and inefficiencies in execution of a program, where the accelerator performing the large task is utilized while other resources in the computer system are underutilized.